const loadGruntTasks = require("load-grunt-tasks")
const sass = require("sass")

module.exports = grunt => {


  loadGruntTasks(grunt)


  grunt.initConfig({
    clean: {
      dist: 'dist/**'
    },
    sass: {
       options: {
        sourceMap: true,
        implementation: sass
       },
       main: {
         files: {
           'dist/assets/css/main.css': 'src/assets/styles/main.scss'
         }
       }
    },
    babel: {
      options: {
        sourceMap: true,
        presets: ['@babel/preset-env']
      },
      main: {
        files: {
          'dist/assets/scripts/main.js': 'src/assets/scripts/main.js'
        }
      }
    },
    cssmin: {
        main: {
            options:{
              mangle:false
            },
           expand: true,//需要处理的文件（input）所在的目录
           cwd: 'dist/assets/css',//表示需要处理的文件。如果采用数组形式，数组的每一项就是一个文件名，可以使用通配符
           src: ['*.css'],
           dest: 'dist/assets/css',//表示处理后的文件名或所在目录。
           ext: '.min.css' //压缩后文件的名字
        }
    },
    htmlmin: {
      options: {
        removeComments: true, //移除注释
        collapseWhitespace: true,//无用空格
        removeEmptyAttributes: true,//移除空的属性
      },
      main:{
          expand: true,
          cwd: 'src',  //需要处理的文件（input）所在的目录
          src: ['**/*.html'], //表示需要处理的文件。如果采用数组形式，数组的每一项就是一个文件名，可以使用通配符
          dest: 'dist' //表示处理后的文件名或所在目录。
      }
    }
  })

  grunt.registerTask('default', ['clean', 'sass','htmlmin', 'cssmin'])
}